package leaveSystem.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import leaveSystem.model.Employee;

public interface EmployeeDAO {
	
	public List<Employee> loadAll(Connection conn) throws SQLException;
	public void insertEmployee(Connection conn, Employee valueObject) throws SQLException;
	public void updateEmployee(Connection conn, Employee valueObject) throws DAOException, SQLException;
	public void deleteEmployee(Connection conn, Employee valueObject) throws DAOException, SQLException ;
	public void deleteAllEmployee(Connection conn) throws SQLException;
	public int countAll(Connection conn) throws SQLException;
	public List<Employee> findEmployee(Connection conn, Employee valueObject) throws SQLException;
	public ArrayList<Employee> findAllEmployee(Connection conn) throws DAOException; 
	public Employee findEmployeeById(Connection conn,Integer employeeID) throws DAOException;
	
}
